package com.itheima.filedemo;

import java.io.File;

public class FileDemo1 {
    public static void main(String[] args) {
        // 1.创建File对象获取文件信息 可以用 \\ 或者 /
        File file = new File("D:\\git space\\java-base\\try.txt");
        if (file.exists()) {
            System.out.println("文件存在");
            System.out.println("文件名：" + file.getName());
            System.out.println("文件大小：" + file.length());
            System.out.println("文件是否可读：" + file.canRead());
            System.out.println("文件是否可写：" + file.canWrite());
            System.out.println("文件是否隐藏：" + file.isHidden());
            System.out.println("文件是否是目录：" + file.isDirectory());
            System.out.println("文件是否是文件：" + file.isFile());
            System.out.println("文件最后修改时间：" + file.lastModified());
            System.out.println("文件所在目录：" + file.getParent());
            System.out.println("文件所在目录：" + file.getParentFile());
            System.out.println("文件所在目录：" + file.getParentFile().getParentFile());
        }

        System.out.println("-------------------------");
        // 2.创建File对象代表不存在的文件路径，以方便创建文件（现在很少用了）
        File file2 = new File("D:\\git space\\java-base\\try2.txt");
        if (file2.exists()) {
            System.out.println("文件存在");
        } else {
            System.out.println("文件不存在");
            try {
                file2.createNewFile();
                System.out.println("文件创建成功");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        System.out.println("-------------------------");
        // 3.创建File对象代表不存在的目录路径，以方便创建目录（现在很少用了）
        File file3 = new File("D:\\git space\\java-base\\try3");
        if (file3.exists()) {
            System.out.println("目录存在");
        } else {
            System.out.println("目录不存在");
            file3.mkdir(); // mkdir() 创建单级目录 mkdirs() 创建多级目录
            System.out.println("目录创建成功");
        }

        System.out.println("-------------------------");
        // 4.删除文件
        File file4 = new File("D:\\git space\\java-base\\try2.txt");
        if (file4.exists()) {
            System.out.println("文件存在");
            if (file4.delete()) { // delete() 删除文件或者空文件夹
                System.out.println("文件删除成功");
            } else {
                System.out.println("文件删除失败");
            }
        } else {
            System.out.println("文件不存在");
        }

        System.out.println("-------------------------");
        // 5.获取某个目录下的所有文件（注意只能拿到当前级别下的文件）
        File file5 = new File("D:\\git space\\java-base");
        if (file5.exists()) {
            File[] files = file5.listFiles(); // listFiles() 获取当前目录下的所有文件 list() 获取当前目录下的名字
            for (File f : files) {
                System.out.println(f.getAbsoluteFile());
            }
        }


    }
}
